package com.alander.nexusgo.user.model.entity;

import com.alander.nexusgo.framework.mysql.starter.model.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 用户第三方登录关联表
 * @TableName user_social
 */
@TableName(value ="user_social")
@Data
public class UserSocial extends BaseEntity {
    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 来源(github/qq/wechat/weibo/google/apple)
     */
    private String source;

    /**
     * 第三方平台用户ID
     */
    private String openId;

    /**
     * 多应用统一ID
     */
    private String unionId;

    /**
     * 访问令牌
     */
    private String accessToken;

    /**
     * 刷新令牌
     */
    private String refreshToken;

    /**
     * 过期时间
     */
    private LocalDateTime expireTime;

    /**
     * 第三方用户信息
     */
    private Object userInfo;

    /**
     * 状态（0正常 1停用）
     */
    private String status;
}